aboutsummaryrefslogtreecommitdiff
path: root/src/routes/user/[user]/+page.svelte
blob: 858e6aec571f8289f9af18f80d2b8076a4c9eeaf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<script lang="ts">
	import { user, type User } from '$lib/AniList/user';
	import { onMount } from 'svelte';

	export let data;

	let userData: User | undefined = undefined;

	onMount(() => {
		user(data.username).then((profile) => {
			userData = profile;
		});
	});

	// 8.5827814569536423841e0
</script>

{#if userData === null}
	Could not load user profile for <a
		href={`https://anilist.co/user/${data.username}`}
		target="_blank">@{data.username}</a
	>.

	<p />

	Does this user exist?
{:else if userData === undefined}
	Loading ...
{:else}
	<div class="user-grid">
		<p>
			<a
				href={`https://anilist.co/user/${userData.name}`}
				target="_blank"
				title={String(userData.id)}
			>
				<img src={userData.avatar.large} alt="" width="100vw" />
			</a>
		</p>

		<div>
			<p>
				<a
					href={`https://anilist.co/user/${userData.name}`}
					target="_blank"
					title={String(userData.id)}>@{userData.name}</a
				>
				• <a href={`/user/${userData.name}/badges`}>Badge Wall</a>
			</p>

			This user has watched {(userData.statistics.anime.minutesWatched / 60 / 24).toFixed(1)} days of
			anime and read
			{((userData.statistics.manga.chaptersRead * 8.58) / 60 / 24).toFixed(1)} days of manga.
		</div>
	</div>
{/if}

<style>
	.user-grid {
		display: flex;
		flex-wrap: wrap;
		column-gap: 1.5em;
	}
</style>